\documentclass{ctexart}
\usepackage{avanti}
\everymath{\color{Solarized-magenta}}
\pagestyle{empty} % 没有页眉和页脚

\tikzset{font=\Large}

\tikzset{every node/.style = {Solarized-base01}}
\tikzset{base/.style = {smooth, thick, draw=Solarized-base01}}
\tikzset{nc/.style = {circle, radius=20, inner sep=0, base}}
\tikzset{label/.style = {Solarized-base01, right}}

\begin{document}

\begin{tikzpicture}

    \pgfmathsetmacro{\r}{1}; % 五边形中心到顶点的距离
    \pgfmathsetmacro{\inc}{0.8};
    \pgfmathsetmacro{\rr}{0.4}; % 五边形中心到顶点的距离

    \path (0,0) coordinate (tensor);
    \draw (tensor) node {群};

    \path (tensor) ++(0.8,0) coordinate (t1);
    \draw[label] (t1) ++(0,\inc) node {$(a,b)$};
    \draw[label] (t1) node {$(a,c,d)$};
    \draw[label] (t1) ++(0,-\inc) node {$(a,d)$};

    \path (t1) ++(3.0,0) coordinate (equ);
    \draw (equ) node {$\Longleftrightarrow$};

    \path (equ) ++(1.5,0) coordinate (hypergraph);
    \draw (hypergraph) node {超图};

    \path (hypergraph) ++(2.5,0) coordinate (g);

    \path (g) ++(-\r,\r) coordinate (g1);
    \path (g) ++(\r,\r) coordinate (g2);
    \path (g) ++(-\r,-\r) coordinate (g3);
    \path (g) ++(\r,-\r) coordinate (g4);

    \fill[Solarized-red,opacity=0.5] (g1) ++(0,\rr) -- ++(2*\r,0) -- ++(0,-2*\rr) -- ++(-2*\r,0) -- (g1);

    \fill[Solarized-red,opacity=0.5] (g1) ++(0,\rr) arc (90:270:\rr) -- (g1);
    \fill[Solarized-red,opacity=0.5] (g2) ++(0,-\rr) arc (270:360:\rr) -- (g2);
    \fill[Solarized-red,opacity=0.5] (g2) ++(\rr,0) arc (0:90:\rr) -- (g2);

    \fill[Solarized-green,opacity=0.5] (g1) ++(45:\rr) arc (45:225:\rr) -- (g1);
    \fill[Solarized-green,opacity=0.5] (g4) ++(225:\rr) arc (225:360:\rr) -- (g4);
    \fill[Solarized-green,opacity=0.5] (g4) ++(0:\rr) arc (0:45:\rr) -- (g4);

    \path (g1) ++(45:\rr) coordinate (g145);
    \path (g1) ++(225:\rr) coordinate (g1225);
    \path (g4) ++(45:\rr) coordinate (g445);
    \path (g4) ++(225:\rr) coordinate (g4225);
    \fill[Solarized-green,opacity=0.5] (g145) -- (g1225) -- (g4225) -- (g445) -- (g145);

    \fill[Solarized-blue,opacity=0.5] (g1) ++(\rr,0) -- ++(0,-2*\r+\rr) -- ++(2*\r-\rr,0) -- ++(0,-2*\rr) -- ++(-2*\r,0) -- ++(0,\rr) -- ++(-\rr,0) -- ++(0,2*\r) -- (g1);
    \fill[Solarized-blue,opacity=0.5] (g1) ++(\rr,0) arc (0:180:\rr) -- (g1);
    \fill[Solarized-blue,opacity=0.5] (g4) ++(0,-\rr) arc (270:360:\rr) -- (g4);
    \fill[Solarized-blue,opacity=0.5] (g4) ++(\rr,0) arc (0:90:\rr) -- (g4);
    \fill[Solarized-blue,opacity=0.5] (g3) ++(-\rr,0) arc (180:270:\rr) -- (g3);

    \draw[base] (g1) circle [radius=0.4] node (a) {$a$};
    \draw[base] (g2) circle [radius=0.4] node (b) {$b$};
    \draw[base] (g3) circle [radius=0.4] node (c) {$c$};
    \draw[base] (g4) circle [radius=0.4] node (d) {$d$};

\end{tikzpicture}


\end{document}